package com.mzj.saas.mservice.bill.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

/**
 * 账单生成规则表
 */
@Entity
@Table(name = "saas_house_expense_bill_rule")
public class HouseExpenseBillRule {
    @Id
    private String id;
    /**
     * 记录名称
     */
    @Column(name = "name", nullable = true)
    private String name;
    /**
     * 所属小区
     */
    @Column(name = "community_id", nullable = true)
    private String communityId;
    /**
     * 账单生成数量(房屋数量)
     */
    @Column(name = "number", nullable = true)
    private Integer number;
    /**
     * 账单开始时间
     */
    @Column(name = "start_time", nullable = true)
    private Date startTime;
    /**
     * 账单结束时间
     */
    @Column(name = "end_time", nullable = true)
    private Date endTime;
    /**
     * 缴费截至日期
     */
    @Column(name = "close_time", nullable = true)
    private Date closeTime;
    /**
     * 收费项目(1水费 2电费 3物业费 4宽带费 5电视费 6煤气费 7暖气费 8租金 9押金)
     */
    @Column(name = "charge_type", nullable = true)
    private Integer chargeType;
    /**
     * 创建人
     */
    @Column(name = "operator_id", nullable = true)
    private String operatorId;
    /**
     * 生成时间
     */
    @Column(name = "create_time", nullable = true)
    private Date createTime;
    /**
     *类型：1公租房 2非公租房
     */
    @Column(name = "type", nullable = true)
    private Integer type;
    /**
     *收费项目id
     */
    @Column(name = "expense_id" ,nullable = true)
    private String expenseId;
    /**
     * 账单范围选择[ 1物业、2小区、3楼栋、4单元、5房号]
     */
    @Column(name = "scope" ,nullable = true)
    private Integer scope;
    /**
     * 1前 2后
     */
    @Column(name = "flag" ,nullable = true)
    private Integer flag;
    /**
     * 天数
     */
    @Column(name = "day" ,nullable = true)
    private Integer day;
    /**
     * 时间标志：1开始时间 2结束时间
     */
    @Column(name = "date_flag" ,nullable = true)
    private Integer dateFlag;
    /**
     * 收款单位
     */
    @Column(name = "collection_org" ,nullable = true)
    private Long collectionOrg;

    /**
     * 机构ID
     */
    @Column(name = "org_id" ,nullable = true)
    private Long orgId;

    /**
     * 单位名称
     */
    @Column(name = "company_name" ,nullable = true)
    private String companyName;

    /**
     * 账单生成状态 0正常 1终止
     */
    @Column(name = "status" ,nullable = true)
    private Integer status;

    /**
     * 违约金是否生成状态 ： 0不生成 1生成
     */
    @Column(name = "violate_status" ,nullable = true)
    private Integer violateStatus;
    /**
     * 违约金比例 单位%
     */
    @Column(name = "violate_ratio" ,nullable = true)
    private String violateRatio;
    /**
     * 立即生成状态：0未生成 1已生成
     */
    @Column(name = "create_status" ,nullable = true)
    private Integer createStatus;

    public Integer getCreateStatus() {
        return createStatus;
    }

    public void setCreateStatus(Integer createStatus) {
        this.createStatus = createStatus;
    }

    public Integer getViolateStatus() {
        return violateStatus;
    }

    public void setViolateStatus(Integer violateStatus) {
        this.violateStatus = violateStatus;
    }

    public String getViolateRatio() {
        return violateRatio;
    }

    public void setViolateRatio(String violateRatio) {
        this.violateRatio = violateRatio;
    }


    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public Integer getDateFlag() {
        return dateFlag;
    }

    public void setDateFlag(Integer dateFlag) {
        this.dateFlag = dateFlag;
    }

    public Integer getScope() {
        return scope;
    }

    public void setScope(Integer scope) {
        this.scope = scope;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    public Integer getDay() {
        return day;
    }

    public void setDay(Integer day) {
        this.day = day;
    }

    public String getExpenseId() {
        return expenseId;
    }

    public void setExpenseId(String expenseId) {
        this.expenseId = expenseId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCommunityId() {
        return communityId;
    }

    public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getCloseTime() {
        return closeTime;
    }

    public void setCloseTime(Date closeTime) {
        this.closeTime = closeTime;
    }

    public Integer getChargeType() {
        return chargeType;
    }

    public void setChargeType(Integer chargeType) {
        this.chargeType = chargeType;
    }

    public String getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getCollectionOrg() {
        return collectionOrg;
    }

    public void setCollectionOrg(Long collectionOrg) {
        this.collectionOrg = collectionOrg;
    }
}
